home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / qb2 / pro15 / novamax.bas < prev    next >
BASIC Source File  |  1990-08-20  |  3KB  |  113 lines

  1.  '******************************************************************************
  2.  '* NOVAMAX - Line drawing and palette demo.                                   *
  3.  '*                                                                            *
  4.  '* Written for GRAFIX by:  Joseph A. Albrecht                                 *
  5.  '*                                                                            *
  6.  '* Press F10 to toggle between 320 and 640 graphic modes                      *
  7.  '* Press ESC to exit program                                                  *
  8.  '******************************************************************************
  9.  '$INCLUDE: 'GRAFQBS.INC' 
  10.  'The above line is for QuickBASIC.
  11.  
  12.  ''$INCLUDE "GRAFTBS.INC"
  13.  'The above line is for TURBO BASIC. Remove the  ''  to compile the program.
  14.  
  15.  ''$INCLUDE "GRAFPBS.INC"
  16.  'The above line is for PowerBASIC. Remove the  ''  to compile the program.
  17.  
  18.  DIM Palettes(30)
  19.  Graphics = 320
  20.  A = Blue
  21.  B = Green
  22.  C = Cyan
  23.  D = Red
  24.  MaxX = 319
  25.  M = 160
  26.  CALL GetTandy11(Tandy11%)
  27.  CALL MediumGraphics
  28.  
  29. Again:
  30.  RANDOMIZE TIMER
  31.  FOR J = 0 TO MaxX STEP 2
  32.    CALL ExtLineC(J, 199, M, 100, A)
  33.    GOSUB CheckKey
  34.  NEXT J
  35.  FOR J = 0 TO MaxX STEP 2
  36.    CALL ExtLineC(J, 0, M, 100, B)
  37.    GOSUB CheckKey
  38.  NEXT J
  39.  FOR J = 0 TO 199 STEP 2
  40.    CALL ExtLineC(M, 100, MaxX, J, C)
  41.    GOSUB CheckKey
  42.  NEXT J
  43.  FOR J = 0 TO 199 STEP 2
  44.    CALL ExtLineC(M, 100, 0, J, D)
  45.    GOSUB CheckKey
  46.  NEXT J
  47.  CALL SetPalette(CINT(RND * 2) + 1, CINT(RND * 15) + 1)
  48.  FOR J = 0 TO MaxX STEP 4
  49.    CALL ExtLineC(J, 199, M, 100, D)
  50.    GOSUB CheckKey
  51.  NEXT J
  52.  FOR J = 0 TO MaxX STEP 4
  53.    CALL ExtLineC(J, 0, M, 100, C)
  54.    GOSUB CheckKey
  55.  NEXT J
  56.  FOR J = 0 TO 199 STEP 4
  57.    CALL ExtLineC(M, 100, MaxX, J, B)
  58.    GOSUB CheckKey
  59.  NEXT J
  60.  FOR J = 0 TO 199 STEP 4
  61.    CALL ExtLineC(M, 100, 0, J, A)
  62.    GOSUB CheckKey
  63.  NEXT J
  64.  FOR J = 0 TO MaxX STEP 8
  65.    CALL ExtLineC(J, 199, M, 100, C)
  66.    GOSUB CheckKey
  67.  NEXT J
  68.  FOR J = 0 TO MaxX STEP 8
  69.    CALL ExtLineC(J, 0, M, 100, D)
  70.    GOSUB CheckKey
  71.  NEXT J
  72.  FOR J = 0 TO 199 STEP 8
  73.    CALL ExtLineC(M, 100, MaxX, J, A)
  74.    GOSUB CheckKey
  75.  NEXT J
  76.  FOR J = 0 TO 199 STEP 8
  77.    CALL ExtLineC(M, 100, 0, J, B)
  78.  NEXT J
  79.  FOR K = 1 TO 30
  80.    Palettes(K) = K MOD 15
  81.    GOSUB CheckKey
  82.  NEXT K
  83.  FOR K = 15 TO 1 STEP -1
  84.    CALL PaletteUsing(Palettes(K))
  85.    CALL Pause(3)
  86.    GOSUB CheckKey
  87.  NEXT K
  88.  GOTO Again
  89.  
  90. CheckKey:
  91.  K$ = INKEY$
  92.  K$ = RIGHT$(K$, 1)
  93.  IF K$ = CHR$(27) THEN
  94.    CALL ExitGraphics
  95.    END
  96.  END IF
  97.  IF K$ = CHR$(68) AND Tandy11% = Tandy11.True% THEN
  98.    IF Graphics = 320 THEN
  99.      Graphics = 640
  100.      MaxX = 639
  101.      M = 320
  102.      CALL HighGraphics
  103.      RETURN Again
  104.    ELSE
  105.      Graphics = 320
  106.      MaxX = 319
  107.      M = 160
  108.      CALL MediumGraphics
  109.      RETURN Again
  110.    END IF
  111.  END IF
  112.  RETURN
  113.